#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//int main() {
//    int n, count = 0, zero1 = 0;
//    double sum = 0.0;
//    while (scanf("%d", &n) != EOF)
//    {
//        int arr1[2000];
//        for (int i = 0; i < n; i++)
//        {
//            scanf("%d", &arr1[i]);
//        }
//        for (int i = 0; i < n; i++)
//        {
//            if (arr1[i] > 0)
//                sum = sum + arr1[i];
//            else if (arr1[i] < 0)
//                count++;
//            else
//                zero1++;
//        }
//        if (sum != 0)
//            sum = sum / (n - count - zero1);
//        else
//            sum = 0.0;
//        printf("%d %.1lf", count, sum);
//    }
//    return 0;
//}



//int minNumberInRotateArray(int* nums, int numsLen)
//{
//    int i, j;
//    for (i = 0; i < numsLen - 1; i++)
//    {
//        for (j = 0; j < numsLen - i; j++)
//        {
//            if (nums[j] > nums[j + 1])
//            {
//                int tmp = nums[j];
//                nums[j] = nums[j + 1];
//                nums[j + 1] = nums[j];
//            }
//        }
//    }
//    return nums[0];
//}



//int main()
//{
//    int ch, ax = 0, ad = 0, other = 0, nub = 0;
//    while ((ch = getchar()) != EOF)
//    {
//        if (ch >= 'a' && ch <= 'z')
//            ax++;
//        else if (ch >= 'A' && ch <= 'Z')
//            ad++;
//        else if (ch >= '1' && ch <= '9')
//            nub++;
//        else
//            other++;
//    }
//    if (other > 0 || (ax == 0 && ad == 0) || (ax == 0 && nub == 0) || (ad == 0 && nub == 0))
//        printf("NO");
//    else if (ax + ad + nub < 8)
//        printf("NO");
//    else if ((ax != 0 && ad != 0) || (ax != 0 && nub != 0) || (ad != 0 && nub != 0))
//        printf("YES");
//    return 0;
//}





int main()
{
    int n = 0, high = 0, low = 0, num = 0, other = 0;
    scanf("%d", &n);
    for (int i = 0; i < n; i++)
    {
        char psw[101];
        scanf("%s", psw);
        for (int i = 0; psw[i] != '\0'; i++)
        {
            if (psw[i] >= 'a' && psw[i] <= 'z')
                low++;
            else if (psw[i] >= 'A' && psw[i] <= 'Z')
                high++;
            else if (psw[i] >= '0' && psw[i] <= '9')
                num++;
            else
                other++;
        }
        if (other > 0)
            printf("NO\n");
        else if (psw[0] >= '0' && psw[0] <= '9')
            printf("NO\n");
        else if (strlen(psw) < 8)
            printf("NO\n");
        else if ((num > 0) + (high > 0) + (low > 0) < 2)
            printf("NO\n");
        else
            printf("YES\n");
    }

    return 0;
}